#include <bits/stdc++.h>
using namespace std;
int n, m; // n为天数，m为积分有效期
int p[100005]; // 存储每天获得的积分
int c[100005]; // 存储每天需要消费的积分
long long ans; // 最终可以消费的积分总数

int main() {
  cin >> n >> m; // 输入天数和积分有效期
  for (int i = 1; i <= n; i++) {
    cin >> p[i] >> c[i]; // 输入每天获得的积分和需要消费的积分
  }
  int t = 1; // 可以卖出去的积分起始位置
  for (int i = 1; i <= n; i++) {
    if (i - t > m) { // 如果当前天数超出积分有效期
      t = i - m; // 更新可用积分的起始位置
    }
    while (t <= i) {
      if (p[t] < c[i]) { // 如果当前天的积分不足以满足消费需求
        ans += p[t]; // 卖掉所有可用积分
        c[i] -= p[t]; // 减去已满足的消费需求
        t++; // 移动到下一个可用积分
      } else {
        ans += c[i]; // 满足当前消费需求
        p[t] -= c[i]; // 更新当前天的积分
        break; // 结束当前循环
      }
    }
  }
  cout << ans; // 输出最终可以消费的积分总数
  return 0;
}